Language Support for Pipelining Wavefront Computations
نویسندگان
چکیده
Wavefront computations, characterized by a data dependent flow of computation across a data space, are receiving increasing attention as an important class of parallel computations. Though sophisticated compiler optimizations can often produce efficient pipelined implementations from sequential representations, we argue that a language-based approach to representing wavefront computations is a more practical technique. A language-based approach is simple for the programmer yet unambiguously parallel. In this paper we introduce simple array language extensions that directly support wavefront computations. We show how a programmer may reason about the extensions’ legality and performance; we describe their implementation and give performance data demonstrating the importance of parallelizing these codes.
منابع مشابه
Pipelining Wavefront Computations: Experiences and Performance
Wavefront computations are common in scientific applications. Although it is well understood how wavefronts are pipelined for parallel execution, the question remains: How are they best presented to the compiler for the effective generation of pipelined code? We address this question through a quantitative and qualitative study of three approaches to expressing pipelining: programmer implemente...
متن کاملArray Language Support for Wavefront and Pipelined Computations
Array languages such as Fortran 90, High Performance Fortran and ZPL are convenient vehicles for expressing data parallel computation. Unfortunately, array language semantics prohibit the natural expression of wavefront and pipelined computations, characterized by a sequential propagation of computed values across one or more dimensions of the problem space. As a result, programmers scalarize (...
متن کاملSpecification and Verification of a Wavefront Algorithm for the Algebraic Path Problem
In a seminal paper [1], Kung et al proposed that wavefront computation could be used to specify and implement parallel algorithms for the mathematical computations needed for highperformance signal processing. In [1], a wavefront computation is regarded as executing in a data-driven fashion on a two-dimensional grid of computational cells that have a north-southeast-west interconnection network...
متن کاملOverlapping Computations and Communications with I/O in Wavefront Algorithms
Several numerical computation algorithms exhibit dependences that lead to a wavefront in the computation. Depending on the data distribution chosen, pipelining communication and computation can be the only way to avoid a sequential execution of the parallel code. The computation grain has to be wisely chosen to obtain at the same time a maximum parallelism and a small communication overhead. On...
متن کاملCompiler Technology for Parallel Scientiic Computation
There is a need for compiler technology that, given the source program, will generate eecient parallel codes for diierent architectures with minimal user involvement. Parallel computation is becoming indispensable in solving large-scale problems in science and engineering. Yet, the use of parallel computation is limited by the high costs of developing the needed software. To overcome this diicu...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999